# Function composition
OData URLs are parsed using composition, with each path segment being piped to the next using a static pipe()
method on path
segment classes, with the final segment in the chain being responsible for handling the system query options and generating
the response via the response()
method.
Operations can therefore act on path segments that precede them as bound parameters (opens new window), and the output of one operation can be piped into the next. The output can therefore pass through several functions before being output.