Rewrote type checking logic to use "name:type" notation