Demonstrate how to define a type that behaves like an integer but has a lowest valid value of 1 and a highest valid value of 10. Include all bounds checking you need to write, or explain how the compiler or interpreter creates those bounds checks for you.

{{
  variable update
---reveal---
  : .limited @update &! &@ if update off ;
  : to       dup 1 10 within [ update on ] [ drop "Out of bounds\n" puts ] if ;
  : limited: create 1 , &.limited reclass ;
}}