I wanted to understand bash builtins. Hence the following questions:

1. When I think of the term *builtin* I am thinking that the `bash` executable has a function defined in its symbol table that other parts of the executable can access *without actually having to `fork`*. Is this what *builtin* means?
2. I also see that some builtins have a separate executable. For instance `type [` returns `[ is a shell builtin`. But then I also see an executable named `/usr/bin/[`. Is it correct to say that the same code is available through two executables: one through `bash` program and another through `/usr/bin/[`?