emacs support: require 'cl for mapcar*, block, return