Bug/647 crash with compounds

### Description
PR that was meant to only fix the crashes when attribute value had compound, for payloads that should but didn't accept compounds.
Crashes fixed, but also, compound values now accepted in 'probably all places they should be accepted'.
Next PR will be about making sure all attribute::value correctly accept compound values.

Remember in new code:

```
if ()
{
...
}
else
{
...
}
```