Okay, I see you use eval in lots of places when interacting with this module. Does it really throw all of its errors and force you to use eval to catch them? That's kinda sad.