improve handling of nested proplists