more stricter check of assign expressions to target variables

based on pullrequest #4 by Johto with my significant redesign