Add support for arbitrary input types

Why removing this?