programmer :: Thinkable t => t -> Code -- may be a partial function