A type whose interpolation may involve some quadratic bezier curve.
A type whose interpolation may involve some sort of easing.
An iterator that interpolates the envelope
Types that are representable as an Envelope.
Implement this for types to be used as points on an Envelope.