parse_path does error checking as well as parses
mixed path types
!