public Value evaluate(Value target) {
        Value root = target;
        for (Part part : path) {
            root = part.eval(root);
        }
        return root;
    }
Gets the value at the defined path out of the target value.

@param target the target value to retrieve a value out of.
@return the retrieve value.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/syntax/expressions/functions/GetAttr.java