Support scalar types

Closes #2
Non-scalar types should be retain not strong