Semantic Model (part 2) Assume for the moment that we have a technique for synthesizing any Ocaml program we like, given a Makefile as input. We will get to that technique later. For now, we're going to focus on building a semantic model of a Makefile by embedding it in an Ocaml program. By performing this embedding, we will get a lot of semantic analysis from the Ocaml compiler for free Variable binding Rich native datatypes (lists, strings, etc.) Functions Lexical environments Type inference and type checking