presto-main/src/main/java/io/prestosql/metadata/ResolvedFunction.java/ResolvedFunction/decodeSimpleSignature
class ResolvedFunction:    private static Signature decodeSimpleSignature(String encodedSignature)
    {
        List<String> parts = Splitter.on('|').splitToList(encodedSignature);
        checkArgument(parts.size() >= 2, "Expected encoded signature to contain at least 2 parts: %s", encodedSignature);
        String name = parts.get(0);
        TypeSignature returnType = TypeSignatureParser.parseTypeSignature(parts.get(1), ImmutableSet.of());
        List<TypeSignature> argumentTypes = parts.subList(2, parts.size()).stream()
                .map(part -> TypeSignatureParser.parseTypeSignature(part, ImmutableSet.of()))
                .collect(toImmutableList());
        return new Signature(name, returnType, argumentTypes);
    }