ext.rb could be replaced with types.rb and do stuff like class Lasp::List < Array to get the same functionality and safely override #call etc. They could also give proper LaspErrors if #chars or #to_i is called on a list for example
Lasp::List < Array
Lasp::Dict < Hash
ext.rbcould be replaced withtypes.rband do stuff likeclass Lasp::List < Arrayto get the same functionality and safely override#calletc. They could also give properLaspErrorsif#charsor#to_iis called on a list for exampleLasp::List < ArrayLasp::Dict < Hash