Make basic_document constructors more strict
&c
Treat integers & floating point the same
Add some more tests for arithmetic conversions