Prepositions don't have to be part of a phrasal verb, in fact I would say most aren't. In this case, none of the prepositions have any special relation to the verb. They're all literal descriptors of the positions the subject goes through during the action.
Try to break up the sentence into the smallest chunks that make sense. Here: He fell. Yeah, that makes sense, that's true. Okay, where did he fall? Into the pool. What did he fall off of? He fell off the ledge. So now, put it together.
He fell off the ledge and into the pool.
You can leave out the "and" here, but it's still there for grammatical purposes. You can tell if you use three prepositions:
He fell off the ledge, through the air, and into the pool.
You can't leave out the "and" here, there's no way to use three prepositions without the conjunction. That means that there's no way to do it with two, either, and the "and" is still there, it's just not spoken.
Right and straight are both intensifiers, and don't really make sense to me here. There's not exactly an indirect way to fall off a ledge and into a pool.
I hope this helps.
Edit: A note to help distinguish between phrasal verbs and normal prepositional adverb phrases: phrasal verbs don't accept objects of the preposition, and they don't pair with prepositions in conjunction phrases.
The roof fell in. good
The roof fell in the house. not good
The roof fell in and onto the ground. not good
The roof fell in onto the ground. good
Does that help you see the difference a little better?
To abstract (away), specifically in computer science, refers to intentionally obscuring the details of how something works in order to simplify things conceptually. Something is abstracted when it acts as a "black box": We put some input into the box, and get some output from the box, but we can't see the inner workings inside the box. Abstraction typically happens in layers, i.e. some system of black boxes become the inner workings of a black box at a higher level of abstraction.
For example, consider what happens when I press a key and a letter appears on the screen. The details of how this happens are quite complex: pressing the key connects a circuit that causes a specific electronic signal to be sent to the computer, that signal is interpreted by hardware drivers and directed by the operating system into Google Chrome, which receives it as a sequence of bits which are handled by various functions in Chrome's code. Then there's a separate driver for the monitor, and so on. An abstract way of describing this is as follows: I press a key on my keyboard, and the corresponding letter appears on the screen.
The reason why this is conceptually useful in computer science is because computer systems and software can be incredibly complex. Nested black boxes are the conceptual building blocks of computer science because they allow you to choose your own level of detail. Need more detail? Open up the box and look inside. Too much detail? Abstract it away by putting everything in an even larger box.
How does this work with dependencies in particular?
One of the main ways of actually abstracting something is by encapsulating a piece of functionality in a class, method, routine, module, etc. that can be referenced by other areas of code. When a reference is established, the referencer becomes dependent on the referenced code. All the referencer can do is interact with the referenced code as a black box: giving it an input and receiving an output, but never having access to the inner workings. (See encapsulation.)
Best Answer
Stray off X is not really a phrasal verb, it means what it says literally. One typically strays off a known path, course, or defined area.
So by saying this:
you are