fixed #249 - preserve variable value types with edge cases

(empty string, Boolean false)