Is there any reason there's not support for `Double` as a type across the library? If not, would it be too difficult to create `Double` support?