I just released support for functions! I really like how the implementation came out. I think it was largely to do with how expressive Crystal is. In Ruby I imagine that you’d need something like Dry Structs or some sort of metaprogramming. With the help of the json-schema shard, I was able to generate the json spec and it really simplified the arguments you need to pass.