Number:Length item state is including semantic info in dsl rules (ie item.state== "23 in")

Your analysis is spot-on, and as @hafniumzinc says you are discovering Quantity Types.

Some practical tools, beyond just comparisons -