Prevent passing of non-POD types to POD-only interfaces.

Reviews: @rec @howardhinnant
I'm in favor of putting it in the template declaration then