10 @data = {} of String => Mal::Type
13 def initialize(@outer, binds, exprs : Array(Mal::Type))
14 @data = {} of String => Mal::Type
16 eval_error "binds must be list or vector" unless binds.is_a? Array
19 # Array#zip() can't be used because overload resolution failed
20 (0...binds.size).each do |idx|
21 sym, expr = binds[idx].unwrap, exprs[idx]
22 eval_error "bind list must be symbol" unless sym.is_a? Mal::Symbol
32 return self if @data.has_key? key
44 eval_error "#{key} not found" unless e