Eventually would be nice to throw a developer-friendly exception here. This opens up a whole thread about error handling, but as a developer API we should let people know when they're doing something wrong, if we can detect it.