Use BadAssignmentError for clearer errors in assignment