Add interpolation support for any type via Generic functions and types
Add legal stuff