Non-functional: Remove reinventing the scalar type, note code issues

The scalar type was already the basic type passed in.

Also factored out of this the checking of extensions for 8/16-bit stuff.
This code seems wrong in several ways, but for now just documenting it.
1 file changed