I don't love that this makes assumptions about the caller's behavior that has nothing to do with this module.  The `dict` check could also be implemented as a decorator on the methods themselves (similar to what we'll have to do for #65).  Thoughts?