...Silicon relies on static objects (i.e. not hashmaps) to model objects. They embed static introspection in their type such that the JSON serializer knows about their members' names and types. In Silicon, parameters are strongly typed and declared next to the procession route. If any error occurs during the decoding (i.e. a missing or ill-formated parameter), the framework does not call the procedure and send an error to the client.