%%HP: T(3)A(D)F(.);                        @ VFTERR: verify that two arguments
                                           @ are both unit objects containing
                                           @ only pure temperature units.
                                           @ Error-trapping approach.
\<<                                        @ obj2 obj1 ->
  RCLF                                     @ Save flags
                                           @ obj2 obj1 {flags} ->
  -55 SF                                   @ Don't save args if error occurs
  OVER                                     @ obj2 obj1 {flags} obj1 ->
  4 PICK                                   @ obj2 obj1 {flags} obj1 obj2 ->
  IFERR                                    @ Test if unit objects
    CONVERT                                @ Try to convert obj1 to obj2 
  THEN                                     @ Error: both not unit objects
                                           @ obj2 obj1 {flags} ->
    STOF                                   @ Restore flags
                                           @ obj2 obj1 ->
    ERRN DOERR                             @ Issue the same error
  END                                      @ ->
                                           @ No error: both unit objects
                                           @ obj2 obj1 {flags} obj3 ->
  IFERR                                    @ Test if pure temperatures
    1_K CONVERT                            @ Try to convert obj3 to pure temp
  THEN                                     @ Error means not pure temperatures
                                           @ obj2 obj1 {flags} ->
    STOF                                   @ Restore flags
                                           @ obj2 obj1 ->
    ERRN DOERR                             @ Issue the same error
  ELSE                                     @ No error: pure temperatures
                                           @ obj2 obj1 {flags} obj4 ->
    DROP                                   @ Discard result
                                           @ obj2 obj1 {flags} ->
    STOF                                   @ Restore flags
                                           @ obj2 obj1 ->
  END    
\>>
