parameter (or string (pair string (lambda unit string))); return string; storage (map string (lambda unit string)); code { DUP; DIP{CDR}; CAR; # Unpack stack IF_LEFT { DIP{DUP}; GET; # Get lambda if it exists IF_NONE {FAIL} {}; # Fail if it doesn't UNIT; EXEC } # Execute the lambda { DUP; CAR; DIP {CDR; SOME}; UPDATE; PUSH string ""}; # Update the storage PAIR} # Calling convention