# The empty codebase The Unison codebase, when first initialized, contains no definitions in its namespace. Not even `Nat` or `+`! BEHOLD!!! ```ucm:error scratch/main> ls ``` Technically, the definitions all exist, but they have no names. `builtins.merge` brings them into existence, under the current namespace: ```ucm scratch/main> builtins.merge lib.builtins scratch/main> ls lib ``` And for a limited time, you can get even more builtin goodies: ```ucm scratch/main> builtins.mergeio lib.builtinsio scratch/main> ls lib ``` More typically, you'd start out by pulling `base`.