Filter package:apecs
Pseudocomponent that functions normally for explExists and
explMembers, but always return Filter for
explGet. Can be used in cmap as cmap $ (Filter :: Filter
a) -> b. Since the above can be written more consicely as
cmap $ (_ :: a) -> b, it is rarely directly. More
interestingly, we can define reusable filters like movables =
Filter :: Filter (Position, Velocity). Note that 'Filter c' is
equivalent to 'Not (Not c)'.