How are you using the `ds_type` required arg?  Also, should spec_datastream be a private method?  (Or do you see it as part of the public API?)